La fine del 'pranzo gratis'
Per decenni, gli sviluppatori hanno goduto del "tetto sequenziale"—un periodo in cui Scaling di Dennard garantiva che ogni nuova generazione di chip portasse velocità di clock più elevate. Ma abbiamo raggiunto la Barriera energetica. Le prestazioni non dipendono più dalla frequenza; dipendono dalla concorrenza. Per andare avanti, dobbiamo utilizzare Pensiero computazionale per colmare il divario tra metodi astratti Metodi numerici e modelli di esecuzione moderni modelli di esecuzione parallela.
Tensione tra precisione e prestazioni
Trasferire un Problema di dominio (come dinamica molecolare) da un host multicore a dispositivi CUDA è più di un semplice cambiamento sintattico; è una trasformazione nel Decomposizione del problema. Quando parallelizziamo, spesso cambiamo l'ordine delle operazioni. Poiché l'aritmetica in virgola mobile non è associativa, affrontiamo un compromesso: Precisione in virgola mobile vs accuratezza. Un risultato parallelo potrebbe essere matematicamente corretto ma numericamente diverso dal suo antenato sequenziale.